/*
 * $Id: $
 */
package org.rcgwt.client.ui.grid.provider;

import java.util.Iterator;

import org.rcgwt.client.ui.grid.RcGrid;
import org.rcgwt.client.ui.grid.RcGridConfig;
import org.rcgwt.client.ui.grid.RcGridConfig.IColumnConfig;
import org.rcgwt.client.ui.grid.model.IColumn;
import org.rcgwt.client.ui.grid.model.IDataModel;

/**
 * 
 * @author Olivier Oeuillot (latest modification by $Author: $)
 * @version $Revision: $ $Date: $
 */
public interface IColumnProvider {

	void setColumnsConfig(IColumnConfig[] columnConfigs);

	void setDataModel(IDataModel dataModel);

	IColumn getColumnByModelIndex(int columnModelIndex);

	int getColumnCount();

	// TITLE
	Iterator<Integer> getColumnModelIndexes(int titleRowModelIndex);

	int getTitleRowCount();

	// Ordered column indexes
	Iterator<Integer> getColumnModelIndexes();

	// IColumn addColumn(String name, String title);
}
